dev/ref#39, dev/ref#40, dev/ref#41