fix compile dependencies
class declarations
flesh out function params