Turned macros into functions
Added non-templated constructors for some types
Merge