NOT FINISHED At some point in the future this should be base for user functionality