please describe the purpose of this class and add @author and @since comments