Added mapping spec and generic mapper