closed #944
closed #946 closed #1053