cleanup, rely on env