Completes #354