first version working with limited mock object