Refactoring + removed unnecesery methods.