learn how to write proper code