Refactoring, Added RenderModes, Added Canvas