Added complete functionality, there are some bugs in color detection (b/y tested, r/g works) <- odd