Optimize properties a bit, added a bit of inline documentation