abstract added.

template almost cleaned.