Removed comments, MIGHT CONTAIN BAD CODE (no eclipse ;_;)