Core functionality and utils for BUMP