push working with less dependences