created basic implementations of the interfaces