moved workaround into separate classes