Complete Refactoring needed, was doing all wrong... :(