Design and Bug fixes