return types and documentation