framework

still needs to be styled slightly