lots of changes inc. bicg method