Updated with new methods and options