now using compose