add docblock and comments