fixed data passing problems