add statement Queue
refractored Database to use composition