Tweaking, fixing, making it less shit

to-do: testing