moving code around to be in pragma marks