added color support and more platform methods