Sequential implementation