fixed bug with fusion function. Made utility functions private