added a heap of stuff to do with the sign in sheet system. everything is starting
to work properly. it works perfectly for users who follow the sign in / out rules
however if a user signs in and out multipul times, it throws away the
entries in the middle of the array, this is causing issues due to the fact that
the stuff in the middle is sometimes the most important.