got some subscreens working (using fragment transactions), refactoring the code according to the DRY principle