also requires composer installed