added how it works