major changes to support more forward-compatible API
don't install this unless your server is updated, otherwise things will break