fill in skeleton with initial working code.