project main function structure fleshed out