this should be under the main description, it applies to the whole function