refactored Functions into a singleton using an enum, allowing for arguably more elegant function usage