bug: require environment for env
deps: remove unused deps
refactor: move push into its own module