changed architecture of sourcecode