Hashing macros, moving macros and errors to shared since they are used by all