committing some codes and plots, will blog about them later