cleaned up. added TODOS