initial source code finished