core logic scripts