added type overloads