some inital backend prep, lots of frontend design/layout