showsingle refactoring + unit tests