implemented several commands