add package controller, shell command classes and some specs