Add some features and change all types unit to byte