clean code
implement backend layout