updated and fixed methods