required dependencies