mahahahahahaha generics are AWESOME!