Add optiona() method
Note some todos