serenity methods

Would leave in a branch, but these methods are genuinely useful for other use cases than serenity (ability to specify opts within the top of the file, includes and layouts functionality)