All functions done

Needs testing