updating with integration tests