Futher changes to implement the design