architecture changes

Interfaces not yet implemented