...i admit tat i always take him for
granted...
One thing about people is that he KNOW that certain characteristic
is killing the relationship, but they CHOOSE not to do anything
about it. Its like when you are sick, you refuse to seek medical
help. In the end, when things gets fatal and everyone
regrets.
At least you boyfriends talks about this to you and seek for a
mutual solution. Well, you don't see guys doing that generally do
you? You wish to maintain this relation and let me tell you the
only way to is effort and appreciation - both of them work hand in
hand. 
You know that you are taking him for granted - improve on this
aspect. Don't request yourself to change, because changing habit,
characteristic is a slow moving model that starts from improving
one self. Don't take him for granted - show your appreciation.
Start with small things like encouragement, write little cards,
don't show negative words/statement every now and then, etc. When
you show you appreciate his doings, or him basically - things will
improve. 
When things happen, calm down and thinking rationally as soon as
possible. Then take initiative to seek for solution and problem
solve together. Problems, crisis, etc solved by the effort of two
parties are legendary traits shared by all successful couples.

Watch your studies. You have studied 10 years for this O level and
don't waste it because of relations. 
Cheers