Implementation assuming some concrete shape. Not working just yet.