eric's sketch with some modifications and mapping