how it works and value prop