Abstract application