Major changes:
> now uses variadic templates for function calling (hope I didn't break anything)
> stylistic changes