adding code and dependencies