ugh read before push