making the mapping more dynamic