simple graphics + logic