started on restructure of code base