adding some thoughts of the implementation
introduction