all basic functions and views are done