Feature/refactor backend