update code and add test skeleton