Added correct zoom funtionality, beinging refactoring of methods