added first transaction implementation