cleanup + starting work on delegates