Updated with some more feature