chapter 18 floating context menu implemented