set up proper code structure