API proposal update; probably last one before merging