added spec and broke commands into modules