Re-Done some code, added new Class