Make methos more general