Added more methods, others need improving