Improved according to plan

Everything implemented  works for now.