[WIP] refactor commands