contains trial and error. learning github.