finished core stuff