functional angular version - no screenplay