changes from de0 added here