finished working pieces with extracted methods