All commands implemented, still need error handling