updated method order, updated docblock