Tried to make it magnitued/angle based but have some bugs in the logic
Works better now, but I need to work on some angle still :)