enhance reverse engineering

Why? This way they are nicely separated and do not have path dependency issues.