cleanup & closer to final code