fix seed
refactore some features