Version 0.4.0 with exists() and several optimizations