WIP

Implemented some interfaces and specified the necessary types
Removing redundant data structures