started refactoring common components out