dependencies and basic configuration code