starting to implement the design