split up some of the functions, fixed the naming convention