Command pattern added