Base framework
more framework
some cleanup