**re-structured source code