Added projection algorithm