new features && code reconstruction for consistency