Make signature more general