added commands implementation