first and second updating less sucky