changed interface to use new backend
finished refactoring
Added proper back functionality.