Added dependency logic, and versioned inheritance