added courses and a lot of function for users