Fully functional login module; TODO: implement sessions