make changes base on test. Add comments for future support.