Re organising and adding core features