added core and trivial solution functions