add test infra, bug fixes