more advanced signature class