[luke] - add mapper & reducer interface