Updated some of the methods, still incomplete