most of wanted functionality completed