begin refactor into new layout