1.1

rewrite 4 functions