Further fleshing out implementation