add more thurough test