cleaned up structure, updated todo