Add bulk of the work