better type names, some other enhancements