stupid generic types...