reduced the number of external dependencies