presentation and some coding