Coded by
Michal Mechlovich