self written programs