early implementation