fixed #3 by completely removing specialised classes