Author: eric grodsky and michal kurlaender