updated with test