functional programming works, remove opts idea