some refactor, commands init