add custom present and dismiss methods