corrected some method signatures to work with type-dependent dispatch