Part of #33
Part of #33