Candidate implementation closes #36