comments; use delegate instead of forcing inheritance