code simplification
synchronization with beta branch
synchronization with beta branch