entry is now implemented as a function