better tests and more headers