part of #28