#3 add e2e testing