Design enhancement

Fix #5 and #6