bunch of small fixes, also the make_square thing works