Adding first part of framework rewrite.. milestone