finshed basic dependency handling