initial code skeleton