added initial version of base controller