Add the initial implementation