some improvement example + few tests