Let g be a reductive Lie algebra and let h be a Cartan subalgebra. A g-module M is called a weighted module if and only if M = circle plus(lambda)M(lambda); where each weight space M(lambda) is finite dimensional. The main result of the paper is the classification of all simple weight g-modules. Further, we show that their characters can be deduced from characters of simple modules in category O.