add presenter and view interface