http://javadocs.rainbowcraft.net/