removed FunctionPrototype and made Function work in the same manner as GenomeFunction