More features for the first release

Please see commits for change log.