todo methods
complete_all