- added interfaces

- start to implement interfaces