add tax and tests