Finished P1

Inlcuding tests