Work in progress (i have been really bad at comitting)