framework implmented plus other small design changes