building
refactor states
size and layout