refactored code, added random color generation for pieces, added large piece detection and handling, improved readme, moved demo setup to demo folder