some changes for better design