mapping is also optional