refactoring, added interface commands