command interface still not working super good but the underlying methods are getting there