implemented find free node