adding "first" and updating some test cases