effect only runs once now