cleaning up and extracting component assembling