added dependency and test code