added working versions