- need to handle signature constraints better
