5 methods complete