[resolved issue SAT-277 and some modification]