first push of framework. work in progress but fully functional.