core functionality completed