some updates
fix bugs