helper methods complete