add initialization and dependencies