just basic ideas and scratch