adding documentation and fixing some dependency issues