add the basic utility functions