adding command module abstract class