basic graphics framework