abstract object app