basic structure
refs #83 #85 done