closed #402 closed #551 worked on #550