TODO: different OS support
TODO: cache dependencies before generating .box file