integrating last pieces, ready to merge