mocks
some dunctionality added
final