organizing all the code