MOB-246 More generic implementation
MOB-213 More generic implementation