fix compile and tested now