start coding ... still messy