#19: implemented command parser