added this painful func-workshop