don't use repetitive dep structure