started with the implementation