Changes to use base types, add comments, etc.