something is wierd with wall repulsion i've had to rewrite the constructor
like 3 times