A new alpha, with functions that use IDs instead of types