Version 2 (with new methods)