removed pointer based macors in favor of using dereferencing