add view system + bug fix