add push option
use promises
readme update