design improvement
bug fixes