Removed irrelevant code for packaging and unecessary coupling