done with the implementation for the demo