add sorta skeleton to fill in using textbook (spec kinda sucks)