replaced uptr with shptr