Design improvements and bugfix