close #256, implemented #212