Finished everything but the user generator