Fix of issue 3 and 4
Refactoring