added comments, adjusted type to reflect that