front-end and back-end refactor continues