Version 2.0 with more documentation