added Template pattern for SFS and BNL