maybe value need some check