final commit. test is buggy, else: its playable, probably not balanced well tho