cleaned some codes and re-implemented asset edit and update method