Redesigned to be more flexible