properly require dependencies