All methods implemented properly!