generalized implementation for SIA methods.