More flexible class, removed unnecessary methods, added new methods